package com.ruoyi.user.domain;

import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 公告对象 user_announcements
 */
public class UserAnnouncement extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 公告ID */
    private Long announcementId;

    /** 公告标题 */
    @Excel(name = "公告标题")
    private String title;

    /** 公告内容 */
    @Excel(name = "公告内容")
    private String content;

    /** 范围：1-全平台，2-区域，3-商户 */
    @Excel(name = "范围")
    private Integer scope;

    /** 区域ID */
    @Excel(name = "区域ID")
    private Long regionId;

    /** 商户ID */
    @Excel(name = "商户ID")
    private Long merchantId;

    /** 状态：0-草稿，1-发布，2-下线 */
    @Excel(name = "状态")
    private Integer status;

    /** 发布时间 */
    @Excel(name = "发布时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date publishTime;

    /** 删除时间 */
    private Date deletedAt;

    /** 区域名称 */
    private String regionName;

    /** 商户名称 */
    private String merchantName;

    public void setAnnouncementId(Long announcementId) {
        this.announcementId = announcementId;
    }

    public Long getAnnouncementId() {
        return announcementId;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getTitle() {
        return title;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getContent() {
        return content;
    }

    public void setScope(Integer scope) {
        this.scope = scope;
    }

    public Integer getScope() {
        return scope;
    }

    public void setRegionId(Long regionId) {
        this.regionId = regionId;
    }

    public Long getRegionId() {
        return regionId;
    }

    public void setMerchantId(Long merchantId) {
        this.merchantId = merchantId;
    }

    public Long getMerchantId() {
        return merchantId;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getStatus() {
        return status;
    }

    public void setPublishTime(Date publishTime) {
        this.publishTime = publishTime;
    }

    public Date getPublishTime() {
        return publishTime;
    }

    public Date getDeletedAt() {
        return deletedAt;
    }

    public void setDeletedAt(Date deletedAt) {
        this.deletedAt = deletedAt;
    }

    public String getRegionName() {
        return regionName;
    }

    public void setRegionName(String regionName) {
        this.regionName = regionName;
    }

    public String getMerchantName() {
        return merchantName;
    }

    public void setMerchantName(String merchantName) {
        this.merchantName = merchantName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("announcementId", getAnnouncementId())
                .append("title", getTitle())
                .append("content", getContent())
                .append("scope", getScope())
                .append("regionId", getRegionId())
                .append("merchantId", getMerchantId())
                .append("status", getStatus())
                .append("publishTime", getPublishTime())
                .append("createdAt", getCreateTime())
                .append("updatedAt", getUpdateTime())
                .append("deletedAt", getDeletedAt())
                .toString();
    }
}